HAL FLASH Types

HAL FLASH Types

group FLASH_Exported_Types

Typedefs

typedef struct hal_flash_handle_s hal_flash_handle_t

HAL FLASH handle structure type

typedef void ( * hal_flash_program_unit_func_t ) ( hal_flash_handle_t * hflash )

HAL FLASH program unit function pointer definition

typedef void ( * hal_flash_program_cplt_cb_t ) ( hal_flash_handle_t * hflash , uint32_t addr , uint32_t size_byte )

HAL FLASH program complete callback pointer definition

typedef void ( * hal_flash_erase_by_addr_cplt_cb_t ) ( hal_flash_handle_t * hflash , uint32_t addr , uint32_t size_byte )

HAL FLASH erase by address complete callback pointer definition

typedef void ( * hal_flash_erase_page_cplt_cb_t ) ( hal_flash_handle_t * hflash , hal_flash_bank_t bank , uint32_t page , uint32_t page_nbr )

HAL FLASH erase by page complete callback pointer definition

typedef void ( * hal_flash_erase_bank_cplt_cb_t ) ( hal_flash_handle_t * hflash , hal_flash_bank_t bank )

HAL FLASH bank erase complete callback pointer definition

typedef void ( * hal_flash_mass_erase_cplt_cb_t ) ( hal_flash_handle_t * hflash )

HAL FLASH mass erase complete callback pointer definition

typedef void ( * hal_flash_error_cb_t ) ( hal_flash_handle_t * hflash , hal_flash_bank_t bank )

HAL FLASH error callback pointer definition

typedef hal_status_t ( * hal_flash_ecc_error_cb_t ) ( hal_flash_handle_t * hflash , hal_flash_bank_t bank )

HAL FLASH ECC error callback pointer definition

Enums

enum hal_flash_program_mode_t

HAL FLASH program mode enumeration definition

Values:

enumerator HAL_FLASH_PROGRAM_QUADWORD

FLASH Program Quad-Word mode

enumerator HAL_FLASH_PROGRAM_DOUBLEWORD

FLASH Program Double-Word mode

enumerator HAL_FLASH_PROGRAM_WORD

FLASH Program Word mode

enumerator HAL_FLASH_PROGRAM_HALFWORD

FLASH Program Half-Word mode

enumerator HAL_FLASH_PROGRAM_BYTE

FLASH Program Byte mode

enum hal_flash_state_t

HAL FLASH state enumeration definition

Values:

enumerator HAL_FLASH_STATE_RESET

FLASH not initialized

enumerator HAL_FLASH_STATE_IDLE

FLASH initialized and configured

enumerator HAL_FLASH_STATE_ACTIVE

FLASH process operation state

enum hal_flash_interrupted_operation_t

HAL FLASH interrupted operation enumeration definition

Values:

enumerator HAL_FLASH_INTERRUPTED_NO_OPERATION

No operation interrupted FLASH interrupted no operation

enumerator HAL_FLASH_INTERRUPTED_SINGLE_WRITE

0x20000000 Single write interrupted FLASH interrupted single write

enumerator HAL_FLASH_INTERRUPTED_PAGE_ERASE

Page erase interrupted FLASH interrupted page erase

enumerator HAL_FLASH_INTERRUPTED_BANK_ERASE

0x80000000 Bank erase interrupted FLASH interrupted bank erase

enumerator HAL_FLASH_INTERRUPTED_MASS_ERASE

Mass erase interrupted FLASH interrupted mass erase

enumerator HAL_FLASH_INTERRUPTED_OB_CHANGE

OB change interrupted FLASH interrupted option bytes change

enum hal_flash_ecc_type_t

HAL FLASH ECC type enumeration definition

Values:

enumerator HAL_FLASH_ECC_NONE

FLASH ECC no error

enumerator HAL_FLASH_ECC_SINGLE

0x40000000 ECC correction ECC single error flag FLASH ECC single error detection

enumerator HAL_FLASH_ECC_DOUBLE

0x80000000 ECC detection set by hardware when two ECC error has been detected. ECC double error flag FLASH ECC double error detection

enum hal_flash_ecc_status_t

HAL FLASH ECC status enumeration definition

Values:

enumerator HAL_FLASH_ECC_NOT_CORRECTED

FLASH ECC not corrected

enumerator HAL_FLASH_ECC_CORRECTED

FLASH ECC corrected

enum hal_flash_operation_t

HAL FLASH operation enumeration definition

Values:

enumerator HAL_FLASH_NO_OPERATION

FLASH no operation

enumerator HAL_FLASH_PROGRAM

FLASH operation program

enumerator HAL_FLASH_ADDR_ERASE

FLASH operation address erase

enumerator HAL_FLASH_PAGE_ERASE

FLASH operation page erase

enumerator HAL_FLASH_BANK_ERASE

FLASH operation bank erase

enumerator HAL_FLASH_MASS_ERASE

FLASH operation mass erase

struct hal_flash_area_info_t
#include <stm32c5xx_hal_flash.h>

HAL FLASH area info structure definition

Public Members

uint32_t base_addr

FLASH area base address

uint32_t area_size_byte

FLASH area size in bytes

uint16_t page_nbr

FLASH number of pages

struct hal_flash_bank_info_t
#include <stm32c5xx_hal_flash.h>

HAL FLASH bank info structure definition

Public Members

uint8_t area_nbr

FLASH number of areas

uint32_t bank_size_byte

FLASH bank size in bytes

hal_flash_area_info_t user_flash

FLASH user area information structure

hal_flash_area_info_t edata_flash

FLASH edata area information structure

struct hal_flash_info_t
#include <stm32c5xx_hal_flash.h>

HAL FLASH info structure definition

Public Members

uint32_t flash_size_byte

FLASH total size in bytes

uint8_t bank_nbr

FLASH number of banks

hal_flash_bank_info_t bank [ ( 2U ) ]

FLASH array of bank information structures

struct hal_flash_interrupted_by_reset_operation_info_t
#include <stm32c5xx_hal_flash.h>

HAL FLASH interrupted operation structure definition

Public Members

uint32_t addr

FLASH interrupted operation address

hal_flash_interrupted_operation_t operation

FLASH interrupted operation code

struct hal_flash_ecc_info_t
#include <stm32c5xx_hal_flash.h>

HAL FLASH ECC information enumeration definition

Public Members

hal_flash_ecc_type_t type

FLASH ECC type

hal_flash_ecc_status_t status

FLASH ECC status

uint32_t addr

FLASH ECC address

uint32_t data

FLASH ECC data

struct hal_flash_handle_s
#include <stm32c5xx_hal_flash.h>

HAL FLASH handle structure definition

Public Members

hal_flash_t instance

FLASH instance

volatile hal_flash_state_t global_state

FLASH global state

hal_flash_program_mode_t programming_mode

FLASH programming mode

volatile hal_flash_operation_t ongoing_operation

FLASH ongoing operation type

hal_flash_bank_t erase_bank

FLASH erase bank

volatile uint32_t last_error_codes

FLASH last error codes

volatile uint32_t erase_page

FLASH erase page

volatile uint32_t prog_data_addr

FLASH program user data buffer

volatile uint32_t prog_flash_addr

FLASH program flash address

volatile uint32_t prog_size_byte

FLASH programmed size in bytes

uint32_t is_adaptive_prog

FLASH is adaptive programming status

uint32_t size

FLASH program or erase size byte or page number

volatile uint32_t count

FLASH program and erase count

hal_flash_program_unit_func_t p_prog_unit_func

FLASH program unit function

hal_flash_program_cplt_cb_t p_program_cplt_cb

FLASH program complete callback

hal_flash_erase_by_addr_cplt_cb_t p_erase_by_addr_cplt_cb

FLASH erase by address complete callback

hal_flash_erase_page_cplt_cb_t p_erase_page_cplt_cb

FLASH erase page complete callback

hal_flash_erase_bank_cplt_cb_t p_erase_bank_cplt_cb

FLASH erase bank complete callback

hal_flash_mass_erase_cplt_cb_t p_mass_erase_cplt_cb

FLASH mass erase complete callback

hal_flash_error_cb_t p_error_cb

FLASH error callback

hal_flash_ecc_error_cb_t p_ecc_error_cb

FLASH ECC error callback

const void * p_user_data

FLASH user data